package com.qf;

import com.qf.pojo.User;
import com.qf.service.UserService;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author 孙亚梅
 * @version V1.0
 * @Project javase2203
 * @Package com.qf.controller
 * @Description:
 * @Date 2022/6/9 17:39
 */
@Controller
@RequestMapping("/users")
public class UserController {


    @Autowired
    private UserService userService;

    //springMvc会注入这个对象, 因为request, response, sesson, model是spirngmvc的默认支持参数
    @Autowired
    private HttpServletRequest request;

    //使用log4j的Logger对象
    Logger logger = Logger.getLogger(UserController.class);

    /**
     * 查询所有用户数据返回
     * @return
     */
    @RequestMapping("/list1")
    public String userList(Model model) {
        //可以在开发阶段使用打印debug信息
        logger.debug("=======这是debug信息===========");
        //日志中的数据需要收集, 供大数据分析使用, 那么可以正常打印info信息
        logger.info("=======这是info信息===========");
        //一般在try catch捕获到异常的时候, 打印error信息
        logger.error("=======这是error信息===========");

        //1. 调用service查询
        List<User> list = userService.findUserAll();
        //2. 将数据放入model中返回给页面展示
        model.addAttribute("users", list);
        //3. 指定页面位置
        return "user";
    }

    /**
     *
     * @param model
     * @return
     */
    @RequestMapping("/list2")
    public String userNameList(Model model) {
        //可以在开发阶段使用打印debug信息
        logger.debug("=======这是debug信息===========");
        //日志中的数据需要收集, 供大数据分析使用, 那么可以正常打印info信息
        logger.info("=======这是info信息===========");
        //一般在try catch捕获到异常的时候, 打印error信息
        logger.error("=======这是error信息===========");

        //1. 调用service查询
        List<User> list = userService.findByNameAndSexAndBirthday();
        //2. 将数据放入model中返回给页面展示
        model.addAttribute("users", list);
        //3. 指定页面位置
        return "user";
    }

}
